webrtc wpt: add cleanup to close peerconnections adds a pc.close() to all RTCPeerConnections in promise_test and async_test. This is codemod-powered by this: https://github.com/fippo/webrtc-codemods/blob/e844b2467cbb76a231c113366b2451cf248f53bc/wpt-rtcpeerconnection-no-helpers BUG=836871 Change-Id: Iee84ef938bf477a55612b6012c6de464c6aea55b Reviewed-on: https://chromium-review.googlesource.com/1049983 Commit-Queue: Henrik Boström <hbos@chromium.org> Reviewed-by: Henrik Boström <hbos@chromium.org> Cr-Commit-Position: refs/heads/master@{#565591} diff --git a/webrtc/RTCDTMFSender-insertDTMF.https.html b/webrtc/RTCDTMFSender-insertDTMF.https.html index 7a45e5d..9c0055b 100644 --- a/webrtc/RTCDTMFSender-insertDTMF.https.html +++ b/webrtc/RTCDTMFSender-insertDTMF.https.html
@@ -109,6 +109,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const transceiver = pc.addTransceiver('audio', { direction: 'recvonly' }); @@ -126,6 +127,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const transceiver = pc.addTransceiver('audio', { direction: 'inactive' }); @@ -166,6 +168,7 @@ let dtmfSender; let sender; let pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return getTrackFromUserMedia('audio') .then(([track, mediaStream]) => { sender = pc.addTrack(track, mediaStream); diff --git a/webrtc/RTCDTMFSender-ontonechange.https.html b/webrtc/RTCDTMFSender-ontonechange.https.html index bfb8b8c..6beefb5 100644 --- a/webrtc/RTCDTMFSender-ontonechange.https.html +++ b/webrtc/RTCDTMFSender-ontonechange.https.html
@@ -232,6 +232,7 @@ */ async_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const transceiver = pc.addTransceiver('audio', { direction: 'sendrecv' }); const dtmfSender = transceiver.sender.dtmf; @@ -279,7 +280,6 @@ dtmfSender.addEventListener('tonechange', onToneChange); dtmfSender.insertDTMF('ABCD', 100, 70); - }, `Setting transceiver.currentDirection to recvonly in the middle of tonechange events should stop future tonechange events from firing`); /* Section 7.3 - Tone change event */ diff --git a/webrtc/RTCDataChannel-id.html b/webrtc/RTCDataChannel-id.html index 7128da8..18f70d8 100644 --- a/webrtc/RTCDataChannel-id.html +++ b/webrtc/RTCDataChannel-id.html
@@ -11,6 +11,7 @@ // have IDs set according to the rules in rtcweb-data-channel. promise_test(test => { const pc = new RTCPeerConnection; + test.add_cleanup(() => pc.close()); const channel = pc.createDataChannel(''); return pc.createOffer() .then(offer => pc.setLocalDescription(offer)) @@ -35,6 +36,7 @@ promise_test(test => { const pc = new RTCPeerConnection; + test.add_cleanup(() => pc.close()); const channel = pc.createDataChannel(''); return pc.createOffer() .then(offer => pc.setLocalDescription(offer)) diff --git a/webrtc/RTCDtlsTransport-getRemoteCertificates.html b/webrtc/RTCDtlsTransport-getRemoteCertificates.html index 80d1bfa..0614364 100644 --- a/webrtc/RTCDtlsTransport-getRemoteCertificates.html +++ b/webrtc/RTCDtlsTransport-getRemoteCertificates.html
@@ -38,7 +38,9 @@ */ async_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); pc1.createDataChannel('test'); exchangeIceCandidates(pc1, pc2); diff --git a/webrtc/RTCIceTransport.html b/webrtc/RTCIceTransport.html index 9163285..17ae6dc 100644 --- a/webrtc/RTCIceTransport.html +++ b/webrtc/RTCIceTransport.html
@@ -120,7 +120,9 @@ promise_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); return createDataChannelPair(pc1, pc2) .then(([channel1, channel2]) => { @@ -165,7 +167,9 @@ promise_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); pc1.createDataChannel(''); // setRemoteDescription(answer) without the other peer diff --git a/webrtc/RTCPeerConnection-addIceCandidate.html b/webrtc/RTCPeerConnection-addIceCandidate.html index e55cc61..5e32168 100644 --- a/webrtc/RTCPeerConnection-addIceCandidate.html +++ b/webrtc/RTCPeerConnection-addIceCandidate.html
@@ -142,6 +142,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => promise_rejects(t, new TypeError(), @@ -157,6 +159,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return promise_rejects(t, 'InvalidStateError', pc.addIceCandidate({ candidate: candidateStr1, @@ -170,6 +174,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => pc.addIceCandidate({ candidate: candidateStr1, @@ -180,6 +186,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => pc.addIceCandidate(new RTCIceCandidate({ candidate: candidateStr1, @@ -190,6 +198,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => pc.addIceCandidate({ sdpMid })); }, 'Add candidate with only valid sdpMid should succeed'); @@ -197,6 +207,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => pc.addIceCandidate({ sdpMLineIndex })); }, 'Add candidate with only valid sdpMLineIndex should succeed'); @@ -212,6 +224,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => pc.addIceCandidate({ candidate: candidateStr1, @@ -226,6 +240,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => pc.addIceCandidate({ candidate: candidateStr2, @@ -242,6 +258,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => pc.addIceCandidate({ candidate: candidateStr1, @@ -257,6 +275,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => pc.addIceCandidate({ candidate: candidateStr1, @@ -291,6 +311,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => pc.addIceCandidate({ candidate: candidateStr1, @@ -318,6 +340,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => promise_rejects(t, new TypeError(), @@ -331,6 +355,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => promise_rejects(t, new TypeError(), @@ -342,6 +368,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => promise_rejects(t, new TypeError(), @@ -355,6 +383,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => promise_rejects(t, new TypeError(), @@ -364,6 +394,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => promise_rejects(t, new TypeError(), @@ -385,6 +417,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => promise_rejects(t, 'OperationError', @@ -405,6 +439,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => promise_rejects(t, 'OperationError', @@ -420,6 +456,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => pc.addIceCandidate({ candidate: candidateStr1, @@ -432,6 +470,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => pc.addIceCandidate({ candidate: candidateStr2, @@ -455,6 +495,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => promise_rejects(t, 'OperationError', @@ -475,6 +517,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => promise_rejects(t, 'OperationError', @@ -487,6 +531,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(sessionDesc) .then(() => promise_rejects(t, 'OperationError', diff --git a/webrtc/RTCPeerConnection-addTrack.https.html b/webrtc/RTCPeerConnection-addTrack.https.html index 406e2d7..c062739 100644 --- a/webrtc/RTCPeerConnection-addTrack.https.html +++ b/webrtc/RTCPeerConnection-addTrack.https.html
@@ -40,6 +40,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return navigator.mediaDevices.getUserMedia({ audio: true }) .then(mediaStream => { const tracks = mediaStream.getTracks(); @@ -67,6 +69,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return navigator.mediaDevices.getUserMedia({ audio: true }) .then(mediaStream => { const tracks = mediaStream.getTracks(); @@ -102,6 +106,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return navigator.mediaDevices.getUserMedia({ audio: true }) .then(mediaStream => { const tracks = mediaStream.getTracks(); @@ -122,6 +128,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return navigator.mediaDevices.getUserMedia({ audio: true }) .then(mediaStream => { const tracks = mediaStream.getTracks(); @@ -149,6 +157,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return navigator.mediaDevices.getUserMedia({ audio: true }) .then(mediaStream => { const tracks = mediaStream.getTracks(); diff --git a/webrtc/RTCPeerConnection-canTrickleIceCandidates.html b/webrtc/RTCPeerConnection-canTrickleIceCandidates.html index 38c8b63..09ad677 100644 --- a/webrtc/RTCPeerConnection-canTrickleIceCandidates.html +++ b/webrtc/RTCPeerConnection-canTrickleIceCandidates.html
@@ -38,6 +38,8 @@ promise_test(function(t) { var pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(new RTCSessionDescription({type: 'offer', sdp: sdp})) .then(function() { assert_true(pc.canTrickleIceCandidates, 'canTrickleIceCandidates property is true after setRemoteDescription'); @@ -47,6 +49,8 @@ promise_test(function(t) { var pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription(new RTCSessionDescription({type: 'offer', sdp: sdp.replace('a=ice-options:trickle\r\n', '')})) .then(function() { assert_false(pc.canTrickleIceCandidates, 'canTrickleIceCandidates property is false after setRemoteDescription'); diff --git a/webrtc/RTCPeerConnection-connectionState.html b/webrtc/RTCPeerConnection-connectionState.html index 1f2f1b7..d8e9411 100644 --- a/webrtc/RTCPeerConnection-connectionState.html +++ b/webrtc/RTCPeerConnection-connectionState.html
@@ -107,8 +107,11 @@ */ async_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + const onConnectionStateChange = t.step_func(() => { const { connectionState } = pc1; if(connectionState === 'connected') { @@ -136,7 +139,6 @@ exchangeIceCandidates(pc1, pc2); doSignalingHandshake(pc1, pc2); - }, 'connection with one data channel should eventually have connected connection state'); /* diff --git a/webrtc/RTCPeerConnection-createAnswer.html b/webrtc/RTCPeerConnection-createAnswer.html index 19b3a45..abff1eb 100644 --- a/webrtc/RTCPeerConnection-createAnswer.html +++ b/webrtc/RTCPeerConnection-createAnswer.html
@@ -24,6 +24,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return promise_rejects(t, 'InvalidStateError', pc.createAnswer()); }, 'createAnswer() with null remoteDescription should reject with InvalidStateError'); @@ -36,6 +37,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer({ offerToReceiveVideo: true }) .then(offer => pc.setRemoteDescription(offer)) .then(() => pc.createAnswer()) @@ -51,6 +54,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return generateOffer({ pc, data: true }) .then(offer => pc.setRemoteDescription(offer)) .then(() => { diff --git a/webrtc/RTCPeerConnection-createDataChannel.html b/webrtc/RTCPeerConnection-createDataChannel.html index 35e22f9..450a250 100644 --- a/webrtc/RTCPeerConnection-createDataChannel.html +++ b/webrtc/RTCPeerConnection-createDataChannel.html
@@ -362,6 +362,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const channel1 = pc.createDataChannel('channel'); assert_equals(channel1.id, null, 'Expect initial id to be null'); diff --git a/webrtc/RTCPeerConnection-createOffer-offerToReceive.html b/webrtc/RTCPeerConnection-createOffer-offerToReceive.html index c599b1c..dd1827a 100644 --- a/webrtc/RTCPeerConnection-createOffer-offerToReceive.html +++ b/webrtc/RTCPeerConnection-createOffer-offerToReceive.html
@@ -21,6 +21,7 @@ // Start testing promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const dummy = pc.createDataChannel('foo'); // Just to have something to offer return pc.createOffer(offerToReceiveFalse) @@ -33,6 +34,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer(offerToReceiveTrue) .then(() => { assert_equals(pc.getTransceivers().length, 1, @@ -47,6 +50,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer(offerToReceiveTrue) .then(() => { assert_equals(pc.getTransceivers().length, 1, @@ -67,6 +72,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return getTrackFromUserMedia(kind) .then(([track, stream]) => { pc.addTrack(track, stream); @@ -91,6 +98,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return getTrackFromUserMedia(kind) .then(([track, stream]) => { pc.addTrack(track, stream); @@ -110,6 +119,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + pc.addTransceiver(kind, {direction: 'recvonly'}); return pc.createOffer(offerToReceiveFalse) @@ -126,8 +137,11 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + return getTrackFromUserMedia(kind) .then(([track, stream]) => { pc.addTrack(track, stream); @@ -154,6 +168,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer({ offerToReceiveAudio: true, offerToReceiveVideo: true }) .then(() => { assert_equals(pc.getTransceivers().length, 2, diff --git a/webrtc/RTCPeerConnection-createOffer.html b/webrtc/RTCPeerConnection-createOffer.html index 4b4d0ea..936fd05 100644 --- a/webrtc/RTCPeerConnection-createOffer.html +++ b/webrtc/RTCPeerConnection-createOffer.html
@@ -30,6 +30,8 @@ promise_test(t => { const pc = new RTCPeerConnection() + t.add_cleanup(() => pc.close()); + return pc.createOffer() .then(offer => { assert_equals(typeof offer, 'object', @@ -42,6 +44,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); @@ -61,6 +64,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); pc.close(); return promise_rejects(t, 'InvalidStateError', @@ -81,6 +85,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const promise = pc.createOffer(); pc.addTransceiver('audio'); @@ -125,6 +130,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer({ offerToReceiveAudio: true }) .then(offer1 => { assert_equals(countAudioLine(offer1.sdp), 1, @@ -152,6 +159,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer({ offerToReceiveVideo: true }) .then(offer1 => { assert_equals(countVideoLine(offer1.sdp), 1, @@ -168,6 +177,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer({ offerToReceiveAudio: true, offerToReceiveVideo: false diff --git a/webrtc/RTCPeerConnection-getStats.https.html b/webrtc/RTCPeerConnection-getStats.https.html index ac69ee5..e9ea7da 100644 --- a/webrtc/RTCPeerConnection-getStats.https.html +++ b/webrtc/RTCPeerConnection-getStats.https.html
@@ -41,11 +41,13 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return pc.getStats(); }, 'getStats() with no argument should succeed'); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return pc.getStats(null); }, 'getStats(null) should succeed'); @@ -59,6 +61,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return getTrackFromUserMedia('audio') .then(([track, mediaStream]) => { return promise_rejects(t, 'InvalidAccessError', pc.getStats(track)); @@ -67,6 +70,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return getTrackFromUserMedia('audio') .then(([track, mediaStream]) => { pc.addTrack(track, mediaStream); @@ -76,6 +80,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const track = generateMediaStreamTrack(); pc.addTransceiver(track); @@ -84,6 +89,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return getTrackFromUserMedia('audio') .then(([track, mediaStream]) => { // addTransceiver allows adding same track multiple times @@ -100,6 +106,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const transceiver1 = pc.addTransceiver('audio'); // Create another transceiver that resends what @@ -117,6 +124,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return pc.getStats() .then(statsReport => { validateStatsReport(statsReport); @@ -126,6 +134,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return getTrackFromUserMedia('audio') .then(([track, mediaStream]) => { pc.addTrack(track, mediaStream); @@ -140,6 +149,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return getTrackFromUserMedia('audio') .then(([track, mediaStream]) => { pc.addTrack(track); @@ -162,6 +172,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return getTrackFromUserMedia('audio') .then(([track, mediaStream]) => { pc.addTrack(track, mediaStream); @@ -185,6 +196,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const transceiver = pc.addTransceiver('audio'); return pc.getStats(transceiver.receiver.track) diff --git a/webrtc/RTCPeerConnection-iceConnectionState.html b/webrtc/RTCPeerConnection-iceConnectionState.html index 59c964c..4071033 100644 --- a/webrtc/RTCPeerConnection-iceConnectionState.html +++ b/webrtc/RTCPeerConnection-iceConnectionState.html
@@ -104,8 +104,11 @@ */ async_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + const onIceConnectionStateChange = t.step_func(() => { const { iceConnectionState } = pc1; @@ -138,7 +141,6 @@ exchangeIceCandidates(pc1, pc2); doSignalingHandshake(pc1, pc2); - }, 'connection with one data channel should eventually have connected connection state'); /* diff --git a/webrtc/RTCPeerConnection-iceGatheringState.html b/webrtc/RTCPeerConnection-iceGatheringState.html index 4265b8b..fb9e514 100644 --- a/webrtc/RTCPeerConnection-iceGatheringState.html +++ b/webrtc/RTCPeerConnection-iceGatheringState.html
@@ -57,6 +57,8 @@ async_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + const onIceGatheringStateChange = t.step_func(() => { const { iceGatheringState } = pc; @@ -74,7 +76,6 @@ .then(offer => pc.setLocalDescription(offer)) .then(err => t.step_func(err => assert_unreached(`Unhandled rejection ${err.name}: ${err.message}`))); - }, 'iceGatheringState should eventually become complete after setLocalDescription'); /* @@ -97,8 +98,11 @@ */ async_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + const onIceGatheringStateChange = t.step_func(() => { const { iceGatheringState } = pc2; @@ -131,7 +135,6 @@ exchangeIceCandidates(pc1, pc2); doSignalingHandshake(pc1, pc2); - }, 'connection with one data channel should eventually have connected connection state'); /* diff --git a/webrtc/RTCPeerConnection-ondatachannel.html b/webrtc/RTCPeerConnection-ondatachannel.html index 4948d11..1070ee7 100644 --- a/webrtc/RTCPeerConnection-ondatachannel.html +++ b/webrtc/RTCPeerConnection-ondatachannel.html
@@ -36,8 +36,11 @@ */ async_test(t => { const localPc = new RTCPeerConnection(); + t.add_cleanup(() => localPc.close()); const remotePc = new RTCPeerConnection(); + t.add_cleanup(() => remotePc.close()); + let eventCount = 0; const onDataChannel = t.step_func_done(event => { @@ -69,7 +72,6 @@ remotePc.addEventListener('datachannel', onDataChannel); exchangeIceCandidates(localPc, remotePc); doSignalingHandshake(localPc, remotePc); - }, 'datachannel event should fire when new data channel is announced to the remote peer'); /* @@ -98,8 +100,11 @@ */ async_test(t => { const localPc = new RTCPeerConnection(); + t.add_cleanup(() => localPc.close()); const remotePc = new RTCPeerConnection(); + t.add_cleanup(() => remotePc.close()); + const onDataChannel = t.step_func_done(event => { const remoteChannel = event.channel; assert_true(remoteChannel instanceof RTCDataChannel, @@ -145,8 +150,11 @@ */ async_test(t => { const localPc = new RTCPeerConnection(); + t.add_cleanup(() => localPc.close()); const remotePc = new RTCPeerConnection(); + t.add_cleanup(() => remotePc.close()); + const onDataChannel = t.unreached_func('datachannel event should not be fired'); localPc.createDataChannel('test', { @@ -158,7 +166,6 @@ doSignalingHandshake(localPc, remotePc); t.step_timeout(t.step_func_done(), 200); - }, 'Data channel created with negotiated set to true should not fire datachannel event on remote peer'); /* diff --git a/webrtc/RTCPeerConnection-onnegotiationneeded.html b/webrtc/RTCPeerConnection-onnegotiationneeded.html index a71625c..8f9ea2b 100644 --- a/webrtc/RTCPeerConnection-onnegotiationneeded.html +++ b/webrtc/RTCPeerConnection-onnegotiationneeded.html
@@ -82,6 +82,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const negotiated = awaitNegotiation(pc); pc.createDataChannel('test'); @@ -114,6 +115,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const negotiated = awaitNegotiation(pc); pc.addTransceiver('audio'); @@ -184,6 +186,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return assert_first_promise_fulfill_after_second( awaitNegotiation(pc), pc.createOffer({ offerToReceiveAudio: true }) diff --git a/webrtc/RTCPeerConnection-ontrack.https.html b/webrtc/RTCPeerConnection-ontrack.https.html index 6610139..1021012 100644 --- a/webrtc/RTCPeerConnection-ontrack.https.html +++ b/webrtc/RTCPeerConnection-ontrack.https.html
@@ -98,6 +98,8 @@ async_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + // Fail the test if the ontrack event handler is not implemented assert_idl_attribute(pc, 'ontrack', 'Expect pc to have ontrack event handler attribute'); @@ -151,6 +153,8 @@ async_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + assert_idl_attribute(pc, 'ontrack', 'Expect pc to have ontrack event handler attribute'); const sdp = `v=0 @@ -182,13 +186,15 @@ .then(t.step_func(() => { t.step_timeout(t.step_func_done(), 100); })); - }, 'setRemoteDescription() with m= line of recvonly direction should not trigger track event'); async_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + pc2.ontrack = t.step_func(trackEvent => { const { track } = trackEvent; @@ -210,13 +216,15 @@ .catch(t.step_func(err => { assert_unreached('Error ' + err.name + ': ' + err.message); })); - }, 'addTrack() should cause remote connection to fire ontrack when setRemoteDescription()'); async_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + pc2.ontrack = t.step_func(trackEvent => { const { track } = trackEvent; @@ -235,13 +243,15 @@ .catch(t.step_func(err => { assert_unreached('Error ' + err.name + ': ' + err.message); })); - }, `addTransceiver('video') should cause remote connection to fire ontrack when setRemoteDescription()`); async_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + pc2.ontrack = t.step_func(trackEvent => { const { track } = trackEvent; @@ -264,7 +274,6 @@ .then(t.step_func(() => { t.step_timeout(t.step_func_done(), 100); })); - }, `addTransceiver() with inactive direction should not cause remote connection to fire ontrack when setRemoteDescription()`); </script> diff --git a/webrtc/RTCPeerConnection-peerIdentity.html b/webrtc/RTCPeerConnection-peerIdentity.html index 68d9f20..64ad212 100644 --- a/webrtc/RTCPeerConnection-peerIdentity.html +++ b/webrtc/RTCPeerConnection-peerIdentity.html
@@ -56,8 +56,11 @@ */ promise_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + const port = window.location.port; const [idpDomain] = getIdpDomains(); const idpHost = hostString(idpDomain, port); @@ -92,10 +95,13 @@ const idpHost = hostString(idpDomain, port); const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection({ peerIdentity: `bob@${idpDomain}` }); + t.add_cleanup(() => pc2.close()); + pc1.setIdentityProvider(idpHost, { protocol: 'mock-idp.js', usernameHint: `alice@${idpDomain}` @@ -131,10 +137,13 @@ const idpHost = hostString(idpDomain, port); const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection({ peerIdentity: `alice@${idpDomain}` }); + t.add_cleanup(() => pc2.close()); + // Ask mockidp.js to return custom contents in validation result pc1.setIdentityProvider(idpHost, { protocol: 'mock-idp.js?validatorAction=return-custom-contents&contents=bogus', @@ -167,10 +176,13 @@ const idpHost1 = hostString(idpDomain1, port); const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection({ peerIdentity: `alice@${idpDomain2}` }); + t.add_cleanup(() => pc2.close()); + // mock-idp.js will return assertion of domain2 identity // with domain1 in the idp.domain field pc1.setIdentityProvider(idpHost1, { @@ -220,10 +232,13 @@ const idpHost = hostString(idpDomain, port); const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection({ peerIdentity: `alice@${idpDomain}` }); + t.add_cleanup(() => pc2.close()); + // Ask mock-idp.js to throw error during validation, // i.e. during pc2.setRemoteDescription() pc1.setIdentityProvider(idpHost, { @@ -263,8 +278,11 @@ */ promise_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + const port = window.location.port; const [idpDomain] = getIdpDomains(); const idpHost = hostString(idpDomain, port); diff --git a/webrtc/RTCPeerConnection-removeTrack.https.html b/webrtc/RTCPeerConnection-removeTrack.https.html index e2da02b..7db0afc 100644 --- a/webrtc/RTCPeerConnection-removeTrack.https.html +++ b/webrtc/RTCPeerConnection-removeTrack.https.html
@@ -49,6 +49,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return navigator.mediaDevices.getUserMedia({ audio: true }) .then(mediaStream => { const tracks = mediaStream.getTracks(); @@ -78,6 +80,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return navigator.mediaDevices.getUserMedia({ audio: true }) .then(mediaStream => { const tracks = mediaStream.getTracks(); @@ -111,6 +115,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return navigator.mediaDevices.getUserMedia({ audio: true }) .then(mediaStream => { const tracks = mediaStream.getTracks(); @@ -149,6 +155,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return navigator.mediaDevices.getUserMedia({ audio: true }) .then(mediaStream => { const tracks = mediaStream.getTracks(); @@ -173,6 +181,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const track = generateMediaStreamTrack('audio'); const transceiver = pc.addTransceiver(track); const { sender } = transceiver; @@ -205,6 +214,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const track = generateMediaStreamTrack('audio'); const transceiver = pc.addTransceiver(track, { direction: 'sendonly' }); const { sender } = transceiver; @@ -237,6 +247,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const track = generateMediaStreamTrack('audio'); const transceiver = pc.addTransceiver(track, { direction: 'recvonly' }); const { sender } = transceiver; @@ -268,6 +279,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const track = generateMediaStreamTrack('audio'); const transceiver = pc.addTransceiver(track, { direction: 'inactive' }); const { sender } = transceiver; diff --git a/webrtc/RTCPeerConnection-setDescription-transceiver.html b/webrtc/RTCPeerConnection-setDescription-transceiver.html index d19b474..5fc957d 100644 --- a/webrtc/RTCPeerConnection-setDescription-transceiver.html +++ b/webrtc/RTCPeerConnection-setDescription-transceiver.html
@@ -66,6 +66,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const transceiver = pc.addTransceiver('audio'); assert_equals(transceiver.mid, null); @@ -99,8 +100,11 @@ */ promise_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + const transceiver1 = pc1.addTransceiver('audio'); assert_array_equals(pc1.getTransceivers(), [transceiver1]); assert_array_equals(pc2.getTransceivers(), []); @@ -139,6 +143,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const transceiver = pc.addTransceiver('audio'); assert_equals(transceiver.mid, null); @@ -159,6 +164,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const transceiver1 = pc.addTransceiver('audio'); assert_equals(transceiver1.mid, null); @@ -204,8 +210,11 @@ */ promise_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + pc1.addTransceiver('audio'); return pc1.createOffer() diff --git a/webrtc/RTCPeerConnection-setLocalDescription-answer.html b/webrtc/RTCPeerConnection-setLocalDescription-answer.html index b216e95..64b6901 100644 --- a/webrtc/RTCPeerConnection-setLocalDescription-answer.html +++ b/webrtc/RTCPeerConnection-setLocalDescription-answer.html
@@ -60,6 +60,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); @@ -94,6 +95,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer({ offerToReceiveVideo: true }) .then(offer => pc.setRemoteDescription(offer) @@ -123,6 +126,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer({ offerToReceiveVideo: true }) .then(offer => pc.setRemoteDescription(offer) @@ -145,16 +150,19 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer() .then(offer => promise_rejects(t, 'InvalidStateError', pc.setLocalDescription({ type: 'answer', sdp: offer.sdp }))); - }, 'Calling setLocalDescription(answer) from stable state should reject with InvalidStateError'); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer() .then(offer => pc.setLocalDescription(offer) diff --git a/webrtc/RTCPeerConnection-setLocalDescription-offer.html b/webrtc/RTCPeerConnection-setLocalDescription-offer.html index 563ab09..d8cb813 100644 --- a/webrtc/RTCPeerConnection-setLocalDescription-offer.html +++ b/webrtc/RTCPeerConnection-setLocalDescription-offer.html
@@ -57,6 +57,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); @@ -82,6 +83,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return pc.createOffer({ offerToReceiveAudio: true }) .then(offer => pc.setLocalDescription({ type: 'offer' }) @@ -102,8 +104,11 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + return generateOffer({ pc, data: true }) .then(offer => promise_rejects(t, 'InvalidModificationError', @@ -116,6 +121,7 @@ // last offer, setLocalDescription would reject when setting // with the first offer const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return pc.createOffer({ offerToReceiveAudio: true }) .then(offer1 => pc.createOffer({ offerToReceiveVideo: true }) @@ -128,6 +134,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); diff --git a/webrtc/RTCPeerConnection-setLocalDescription-pranswer.html b/webrtc/RTCPeerConnection-setLocalDescription-pranswer.html index 134f3d1..8b173c4 100644 --- a/webrtc/RTCPeerConnection-setLocalDescription-pranswer.html +++ b/webrtc/RTCPeerConnection-setLocalDescription-pranswer.html
@@ -63,11 +63,12 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer() .then(offer => promise_rejects(t, 'InvalidStateError', pc.setLocalDescription({ type: 'pranswer', sdp: offer.sdp }))); - }, 'setLocalDescription(pranswer) from stable state should reject with InvalidStateError'); /* @@ -80,6 +81,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); @@ -112,6 +114,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); @@ -133,6 +136,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); diff --git a/webrtc/RTCPeerConnection-setLocalDescription-rollback.html b/webrtc/RTCPeerConnection-setLocalDescription-rollback.html index 951a8f2..45ee0cc 100644 --- a/webrtc/RTCPeerConnection-setLocalDescription-rollback.html +++ b/webrtc/RTCPeerConnection-setLocalDescription-rollback.html
@@ -57,6 +57,7 @@ */ promise_test(t=> { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); @@ -96,12 +97,14 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return promise_rejects(t, 'InvalidStateError', pc.setLocalDescription({ type: 'rollback' })); }, `setLocalDescription(rollback) from stable state should reject with InvalidStateError`); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return pc.createOffer({ offerToReceiveAudio: true }) .then(offer => pc.setRemoteDescription(offer) @@ -115,6 +118,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return pc.createOffer() .then(offer => pc.setLocalDescription(offer)) .then(() => pc.setLocalDescription({ diff --git a/webrtc/RTCPeerConnection-setLocalDescription.html b/webrtc/RTCPeerConnection-setLocalDescription.html index 899f4bf..078a6ff 100644 --- a/webrtc/RTCPeerConnection-setLocalDescription.html +++ b/webrtc/RTCPeerConnection-setLocalDescription.html
@@ -45,6 +45,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); @@ -73,6 +74,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); @@ -93,7 +95,6 @@ assert_array_equals(states, ['have-remote-offer', 'stable', 'have-local-offer']); }))); - }, 'Switching role from answerer to offerer after going back to stable state should succeed'); promise_test(async t => { diff --git a/webrtc/RTCPeerConnection-setRemoteDescription-answer.html b/webrtc/RTCPeerConnection-setRemoteDescription-answer.html index 38407d7..30c7e43 100644 --- a/webrtc/RTCPeerConnection-setRemoteDescription-answer.html +++ b/webrtc/RTCPeerConnection-setRemoteDescription-answer.html
@@ -59,6 +59,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); @@ -98,6 +99,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer() .then(offer => promise_rejects(t, 'InvalidStateError', @@ -107,6 +110,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer() .then(offer => pc.setRemoteDescription(offer) @@ -114,7 +119,6 @@ .then(answer => promise_rejects(t, 'InvalidStateError', pc.setRemoteDescription(answer))); - }, 'Calling setRemoteDescription(answer) from have-remote-offer state should reject with InvalidStateError'); </script> diff --git a/webrtc/RTCPeerConnection-setRemoteDescription-offer.html b/webrtc/RTCPeerConnection-setRemoteDescription-offer.html index b732500..c35bdb4 100644 --- a/webrtc/RTCPeerConnection-setRemoteDescription-offer.html +++ b/webrtc/RTCPeerConnection-setRemoteDescription-offer.html
@@ -51,9 +51,11 @@ promise_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); pc1.createDataChannel('datachannel'); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); const states = []; pc2.addEventListener('signalingstatechange', () => states.push(pc2.signalingState)); @@ -70,13 +72,15 @@ assert_equals(states, ['have-remote-offer']); }); }); - }, 'setRemoteDescription with valid offer should succeed'); + }, 'setRemoteDescription with valid offer should succeed'); promise_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); pc1.createDataChannel('datachannel'); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); const states = []; pc2.addEventListener('signalingstatechange', () => states.push(pc2.signalingState)); @@ -98,9 +102,11 @@ promise_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); pc1.createDataChannel('datachannel'); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); const states = []; pc2.addEventListener('signalingstatechange', () => states.push(pc2.signalingState)); @@ -138,6 +144,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.setRemoteDescription({ type: 'offer', sdp: 'Invalid SDP' @@ -165,6 +173,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return pc.createOffer() .then(offer => { return pc.setLocalDescription(offer) diff --git a/webrtc/RTCPeerConnection-setRemoteDescription-pranswer.html b/webrtc/RTCPeerConnection-setRemoteDescription-pranswer.html index e9dc959..d1073c8 100644 --- a/webrtc/RTCPeerConnection-setRemoteDescription-pranswer.html +++ b/webrtc/RTCPeerConnection-setRemoteDescription-pranswer.html
@@ -63,6 +63,8 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); + return pc.createOffer() .then(offer => promise_rejects(t, 'InvalidStateError', @@ -79,6 +81,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); @@ -109,6 +112,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); @@ -130,6 +134,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); diff --git a/webrtc/RTCPeerConnection-setRemoteDescription-replaceTrack.https.html b/webrtc/RTCPeerConnection-setRemoteDescription-replaceTrack.https.html index 06408d0..6c98eae 100644 --- a/webrtc/RTCPeerConnection-setRemoteDescription-replaceTrack.https.html +++ b/webrtc/RTCPeerConnection-setRemoteDescription-replaceTrack.https.html
@@ -12,6 +12,7 @@ async_test(t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); return getUserMediaTracksAndStreams(2) .then(t.step_func(([tracks, streams]) => { const sender = caller.addTrack(tracks[0], streams[0]); @@ -28,6 +29,7 @@ async_test(t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); return getUserMediaTracksAndStreams(1) .then(t.step_func(([tracks, streams]) => { const sender = caller.addTrack(tracks[0], streams[0]); @@ -44,6 +46,7 @@ async_test(t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); return getUserMediaTracksAndStreams(2) .then(t.step_func(([tracks, streams]) => { const sender = caller.addTrack(tracks[0], streams[0]); @@ -62,6 +65,7 @@ async_test(t => { const expectedException = 'InvalidStateError'; const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); return getUserMediaTracksAndStreams(2) .then(t.step_func(([tracks, streams]) => { const sender = caller.addTrack(tracks[0], streams[0]); @@ -84,6 +88,7 @@ async_test(t => { const expectedException = 'InvalidModificationError'; const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); return getUserMediaTracksAndStreams(2) .then(t.step_func(([tracks, streams]) => { const sender = caller.addTrack(tracks[0], streams[0]); @@ -108,6 +113,7 @@ async_test(t => { const expectedException = 'InvalidModificationError'; const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); return getUserMediaTracksAndStreams(2) .then(t.step_func(([tracks, streams]) => { const sender = caller.addTrack(tracks[0], streams[0]); diff --git a/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html b/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html index 1c6c414..f677723 100644 --- a/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html +++ b/webrtc/RTCPeerConnection-setRemoteDescription-rollback.html
@@ -58,6 +58,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const states = []; pc.addEventListener('signalingstatechange', () => states.push(pc.signalingState)); @@ -96,12 +97,14 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return promise_rejects(t, 'InvalidStateError', pc.setRemoteDescription({ type: 'rollback' })); }, `setRemoteDescription(rollback) from stable state should reject with InvalidStateError`); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); return pc.createOffer({ offerToReceiveAudio: true }) .then(offer => pc.setRemoteDescription(offer)) .then(() => pc.setRemoteDescription({ diff --git a/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html b/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html index fd55ad0..251d282 100644 --- a/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html +++ b/webrtc/RTCPeerConnection-setRemoteDescription-tracks.https.html
@@ -19,7 +19,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); const localStream = await navigator.mediaDevices.getUserMedia({audio: true}); caller.addTrack(localStream.getTracks()[0]); @@ -34,7 +36,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); const localStream = await navigator.mediaDevices.getUserMedia({audio: true}); caller.addTrack(localStream.getTracks()[0], localStream); @@ -53,7 +57,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let eventSequence = ''; const localStream = await navigator.mediaDevices.getUserMedia({audio: true}); @@ -69,7 +75,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); const localStreams = await Promise.all([ navigator.mediaDevices.getUserMedia({audio: true}), navigator.mediaDevices.getUserMedia({audio: true}), @@ -110,7 +118,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let eventSequence = ''; const localStreams = await Promise.all([ navigator.mediaDevices.getUserMedia({audio: true}), @@ -140,7 +150,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let eventSequence = ''; const localStreams = await Promise.all([ navigator.mediaDevices.getUserMedia({audio: true}), @@ -168,7 +180,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); const localStreams = await Promise.all([ navigator.mediaDevices.getUserMedia({audio: true}), navigator.mediaDevices.getUserMedia({audio: true}), @@ -194,7 +208,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); const localStream = await navigator.mediaDevices.getUserMedia({audio: true}); caller.addTrack(localStream.getTracks()[0]); @@ -208,7 +224,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); const localStream = await navigator.mediaDevices.getUserMedia({audio: true}); const sender = caller.addTrack(localStream.getTracks()[0]); @@ -223,7 +241,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); const localStream = await navigator.mediaDevices.getUserMedia({audio: true}); const sender = caller.addTrack(localStream.getTracks()[0], localStream); @@ -247,7 +267,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let eventSequence = ''; const localStream = await navigator.mediaDevices.getUserMedia({audio: true}); @@ -272,7 +294,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); const localStream = await navigator.mediaDevices.getUserMedia({audio: true}); const sender = caller.addTrack(localStream.getTracks()[0], localStream); @@ -294,7 +318,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let eventSequence = ''; const localStream = await navigator.mediaDevices.getUserMedia({audio: true}); @@ -319,6 +345,7 @@ promise_test(async t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const stream = await navigator.mediaDevices.getUserMedia({audio: true}); const sender = pc.addTrack(stream.getTracks()[0]); pc.removeTrack(sender); diff --git a/webrtc/RTCPeerConnection-track-stats.https.html b/webrtc/RTCPeerConnection-track-stats.https.html index 9b5de30..682e7e5 100644 --- a/webrtc/RTCPeerConnection-track-stats.https.html +++ b/webrtc/RTCPeerConnection-track-stats.https.html
@@ -19,6 +19,7 @@ async_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); let track; return getUserMediaTracksAndStreams(1) .then(t.step_func(([tracks, streams]) => { @@ -43,6 +44,7 @@ async_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); let stream; return getUserMediaTracksAndStreams(1) .then(t.step_func(([tracks, streams]) => { @@ -64,6 +66,7 @@ async_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); let track; return getUserMediaTracksAndStreams(1) .then(t.step_func(([tracks, streams]) => { @@ -90,6 +93,7 @@ async_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); let stream; return getUserMediaTracksAndStreams(1) .then(t.step_func(([tracks, streams]) => { @@ -117,6 +121,7 @@ async_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); let track; let stream; return getUserMediaTracksAndStreams(1) @@ -155,6 +160,7 @@ // https://github.com/w3c/webrtc-pc/issues/1125 async_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); let track; let stream; return getUserMediaTracksAndStreams(1) @@ -189,7 +195,9 @@ async_test(t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let sendingTrack; return getUserMediaTracksAndStreams(1) .then(t.step_func(([tracks, streams]) => { @@ -217,7 +225,9 @@ async_test(t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let receivingTrack; callee.ontrack = trackEvent => { assert_true(receivingTrack == undefined, 'ontrack has not fired before'); @@ -249,7 +259,9 @@ async_test(t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let sendingTrack1; let sendingTrack2; let sender; @@ -276,7 +288,9 @@ async_test(t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let sendingTrack1; let sendingTrack2; let sender; @@ -311,7 +325,9 @@ async_test(t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let sendingTrack1; let sendingTrack2; let sender; @@ -345,7 +361,9 @@ async_test(t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let sendingTrack1; let sendingTrack2; let sender; @@ -380,7 +398,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let [tracks, streams] = await getUserMediaTracksAndStreams(2); let sender = caller.addTrack(tracks[0], streams[0]); callee.addTrack(tracks[1], streams[1]); @@ -426,7 +446,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let [tracks, streams] = await getUserMediaTracksAndStreams(2); let sender = caller.addTrack(tracks[0], streams[0]); callee.addTrack(tracks[1], streams[1]); @@ -472,7 +494,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let [tracks, streams] = await getUserMediaTracksAndStreams(2); let sender = caller.addTrack(tracks[0], streams[0]); callee.addTrack(tracks[1], streams[1]); @@ -497,7 +521,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); let [tracks, streams] = await getUserMediaTracksAndStreams(2); let sender = caller.addTrack(tracks[0], streams[0]); callee.addTrack(tracks[1], streams[1]); @@ -523,6 +549,7 @@ promise_test(async t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); let [tracks, streams] = await getUserMediaTracksAndStreams(1); await promise_rejects(t, 'InvalidAccessError', pc.getStats(tracks[0])); }, 'RTCPeerConnection.getStats(track) throws InvalidAccessError when there ' + @@ -530,6 +557,7 @@ promise_test(async t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); let [tracks, streams] = await getUserMediaTracksAndStreams(2); let sender1 = pc.addTrack(tracks[0]); let sender2 = pc.addTrack(tracks[1]); diff --git a/webrtc/RTCRtpParameters-codecs.html b/webrtc/RTCRtpParameters-codecs.html index 58cad8a..4ce76d1 100644 --- a/webrtc/RTCRtpParameters-codecs.html +++ b/webrtc/RTCRtpParameters-codecs.html
@@ -82,6 +82,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); validateSenderRtpParameters(param); @@ -96,11 +97,11 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, 'setParameters() with codec.payloadType modified should reject with InvalidModificationError'); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); validateSenderRtpParameters(param); @@ -115,11 +116,11 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, 'setParameters() with codec.mimeType modified should reject with InvalidModificationError'); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); validateSenderRtpParameters(param); @@ -134,11 +135,11 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, 'setParameters() with codec.clockRate modified should reject with InvalidModificationError'); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); validateSenderRtpParameters(param); @@ -153,12 +154,12 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, 'setParameters() with codec.channels modified should reject with InvalidModificationError'); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); validateSenderRtpParameters(param); @@ -173,12 +174,12 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, 'setParameters() with codec.sdpFmtpLine modified should reject with InvalidModificationError'); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); validateSenderRtpParameters(param); @@ -194,11 +195,11 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, 'setParameters() with new codecs inserted should reject with InvalidModificationError'); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); validateSenderRtpParameters(param); @@ -213,11 +214,11 @@ } return sender.setParameters(param); - }, 'setParameters with reordered codecs should succeed'); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); validateSenderRtpParameters(param); @@ -227,7 +228,6 @@ param.codecs = codecs.slice(1); return sender.setParameters(param); - }, 'setParameters with dropped codec should succeed'); </script> diff --git a/webrtc/RTCRtpParameters-degradationPreference.html b/webrtc/RTCRtpParameters-degradationPreference.html index 8d0ab7e..e2c92bc 100644 --- a/webrtc/RTCRtpParameters-degradationPreference.html +++ b/webrtc/RTCRtpParameters-degradationPreference.html
@@ -42,6 +42,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); @@ -63,6 +64,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); diff --git a/webrtc/RTCRtpParameters-encodings.html b/webrtc/RTCRtpParameters-encodings.html index 5a9630e..00c2f47 100644 --- a/webrtc/RTCRtpParameters-encodings.html +++ b/webrtc/RTCRtpParameters-encodings.html
@@ -192,6 +192,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); validateSenderRtpParameters(param); @@ -205,11 +206,11 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, `sender.setParameters() with mismatch number of encodings should reject with InvalidModificationError`); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); validateSenderRtpParameters(param); @@ -218,11 +219,11 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, `sender.setParameters() with encodings unset should reject with InvalidModificationError`); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); @@ -240,11 +241,11 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, `setParameters() with modified encoding.ssrc field should reject with InvalidModificationError`); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); @@ -262,11 +263,11 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, `setParameters() with modified encoding.rtx field should reject with InvalidModificationError`); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); @@ -284,11 +285,11 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, `setParameters() with modified encoding.fec field should reject with InvalidModificationError`); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio', { sendEncodings: [{ rid: 'foo' }], }); @@ -302,7 +303,6 @@ encoding.rid = 'bar'; return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, `setParameters() with modified encoding.rid field should reject with InvalidModificationError`); /* @@ -313,6 +313,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); @@ -322,11 +323,11 @@ encoding.scaleResolutionDownBy = 0.5; return promise_rejects(t, 'RangeError', sender.setParameters(param)); - }, `setParameters() with encoding.scaleResolutionDownBy field set to less than 1.0 should reject with RangeError`); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); @@ -342,13 +343,13 @@ assert_approx_equals(encoding.scaleResolutionDownBy, 1.5, 0.01); }); - }, `setParameters() with encoding.scaleResolutionDownBy field set to greater than 1.0 should succeed`); // Helper function to test that modifying an encoding field should succeed function test_modified_encoding(field, value1, value2, desc) { promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio', { sendEncodings: [{ [field]: value1 diff --git a/webrtc/RTCRtpParameters-headerExtensions.html b/webrtc/RTCRtpParameters-headerExtensions.html index ed6b1e6..5cec059 100644 --- a/webrtc/RTCRtpParameters-headerExtensions.html +++ b/webrtc/RTCRtpParameters-headerExtensions.html
@@ -57,6 +57,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); validateSenderRtpParameters(param); @@ -69,7 +70,6 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, `setParameters() with modified headerExtensions should reject with InvalidModificationError`); </script> diff --git a/webrtc/RTCRtpParameters-rtcp.html b/webrtc/RTCRtpParameters-rtcp.html index 94d5afd..c40edf2 100644 --- a/webrtc/RTCRtpParameters-rtcp.html +++ b/webrtc/RTCRtpParameters-rtcp.html
@@ -56,6 +56,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); @@ -75,11 +76,11 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, `setParameters() with modified rtcp.cname should reject with InvalidModificationError`); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); @@ -99,7 +100,6 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, `setParameters() with modified rtcp.reducedSize should reject with InvalidModificationError`); </script> diff --git a/webrtc/RTCRtpParameters-transactionId.html b/webrtc/RTCRtpParameters-transactionId.html index 184cdb5..02413fe 100644 --- a/webrtc/RTCRtpParameters-transactionId.html +++ b/webrtc/RTCRtpParameters-transactionId.html
@@ -85,6 +85,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); @@ -95,11 +96,11 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, `sender.setParameters() with transaction ID different from last getParameters() should reject with InvalidModificationError`); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); @@ -109,11 +110,11 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param)); - }, `sender.setParameters() with transaction ID unset should reject with InvalidModificationError`); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param = sender.getParameters(); @@ -123,11 +124,11 @@ .then(() => promise_rejects(t, 'InvalidModificationError', sender.setParameters(param))); - }, `setParameters() twice with the same parameters should reject with InvalidModificationError`); promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const { sender } = pc.addTransceiver('audio'); const param1 = sender.getParameters(); @@ -140,7 +141,6 @@ return promise_rejects(t, 'InvalidModificationError', sender.setParameters(param1)); - }, `setParameters() with parameters older than last getParameters() should reject with InvalidModificationError`); </script> diff --git a/webrtc/RTCRtpReceiver-getContributingSources.https.html b/webrtc/RTCRtpReceiver-getContributingSources.https.html index 7ddc7e8..8ddff5b 100644 --- a/webrtc/RTCRtpReceiver-getContributingSources.https.html +++ b/webrtc/RTCRtpReceiver-getContributingSources.https.html
@@ -40,8 +40,11 @@ promise_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + const ontrackPromise = new Promise(resolve => { pc2.addEventListener('track', trackEvent => { const { receiver } = trackEvent; diff --git a/webrtc/RTCRtpReceiver-getStats.https.html b/webrtc/RTCRtpReceiver-getStats.https.html index 4da0b0a..30b1585 100644 --- a/webrtc/RTCRtpReceiver-getStats.https.html +++ b/webrtc/RTCRtpReceiver-getStats.https.html
@@ -46,7 +46,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); const { receiver } = caller.addTransceiver('audio'); await doSignalingHandshake(caller, callee); @@ -57,7 +59,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); const stream = await navigator.mediaDevices.getUserMedia({audio:true}); const [track] = stream.getTracks(); caller.addTrack(track, stream); diff --git a/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html b/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html index 236ec8b..8068558 100644 --- a/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html +++ b/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html
@@ -27,8 +27,11 @@ promise_test(t => { const pc1 = new RTCPeerConnection(); + t.add_cleanup(() => pc1.close()); const pc2 = new RTCPeerConnection(); + t.add_cleanup(() => pc2.close()); + const ontrackPromise = new Promise(resolve => { pc2.addEventListener('track', trackEvent => { const { receiver } = trackEvent; diff --git a/webrtc/RTCRtpSender-getStats.https.html b/webrtc/RTCRtpSender-getStats.https.html index a20304d..a0e2b9d 100644 --- a/webrtc/RTCRtpSender-getStats.https.html +++ b/webrtc/RTCRtpSender-getStats.https.html
@@ -41,7 +41,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); const { sender } = caller.addTransceiver('audio'); await doSignalingHandshake(caller, callee); @@ -52,7 +54,9 @@ promise_test(async t => { const caller = new RTCPeerConnection(); + t.add_cleanup(() => caller.close()); const callee = new RTCPeerConnection(); + t.add_cleanup(() => callee.close()); const stream = await navigator.mediaDevices.getUserMedia({audio:true}); const [track] = stream.getTracks(); const sender = caller.addTrack(track, stream); diff --git a/webrtc/RTCRtpSender-replaceTrack.html b/webrtc/RTCRtpSender-replaceTrack.html index 587ca57..f7f83f2 100644 --- a/webrtc/RTCRtpSender-replaceTrack.html +++ b/webrtc/RTCRtpSender-replaceTrack.html
@@ -33,6 +33,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const track = generateMediaStreamTrack('audio'); const transceiver = pc.addTransceiver('audio'); @@ -41,7 +42,6 @@ return promise_rejects(t, 'InvalidStateError', sender.replaceTrack(track)); - }, 'Calling replaceTrack on closed connection should reject with InvalidStateError'); /* @@ -52,6 +52,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const track = generateMediaStreamTrack('video'); const transceiver = pc.addTransceiver('audio'); @@ -59,7 +60,6 @@ return promise_rejects(t, new TypeError(), sender.replaceTrack(track)); - }, 'Calling replaceTrack with track of different kind should reject with TypeError'); /* @@ -69,6 +69,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const track = generateMediaStreamTrack('audio'); const transceiver = pc.addTransceiver('audio'); @@ -77,7 +78,6 @@ return promise_rejects(t, 'InvalidStateError', sender.replaceTrack(track)); - }, 'Calling replaceTrack on stopped sender should reject with InvalidStateError'); /* @@ -88,6 +88,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const track = generateMediaStreamTrack('audio'); const transceiver = pc.addTransceiver('audio'); @@ -102,6 +103,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const track1 = generateMediaStreamTrack('audio'); const track2 = generateMediaStreamTrack('audio'); @@ -118,6 +120,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const track = generateMediaStreamTrack('audio'); const transceiver = pc.addTransceiver(track); @@ -144,6 +147,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const track = generateMediaStreamTrack('audio'); const transceiver = pc.addTransceiver(track); @@ -173,6 +177,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const track1 = generateMediaStreamTrack('audio'); const track2 = generateMediaStreamTrack('audio'); @@ -204,6 +209,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const track1 = generateMediaStreamTrack('audio'); const track2 = generateMediaStreamTrack('audio'); diff --git a/webrtc/RTCRtpSender-setParameters.html b/webrtc/RTCRtpSender-setParameters.html index d8fbe35..1278737 100644 --- a/webrtc/RTCRtpSender-setParameters.html +++ b/webrtc/RTCRtpSender-setParameters.html
@@ -16,6 +16,7 @@ */ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const transceiver = pc.addTransceiver('audio'); const { sender } = transceiver; @@ -24,7 +25,6 @@ return promise_rejects(t, 'InvalidStateError', sender.setParameters(param)); - }, `setParameters() when transceiver is stopped should reject with InvalidStateError`); </script> diff --git a/webrtc/RTCRtpTransceiver-setDirection.html b/webrtc/RTCRtpTransceiver-setDirection.html index 00cddce..32cbff5 100644 --- a/webrtc/RTCRtpTransceiver-setDirection.html +++ b/webrtc/RTCRtpTransceiver-setDirection.html
@@ -56,6 +56,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); const transceiver = pc.addTransceiver('audio', { direction: 'recvonly' }); assert_equals(transceiver.direction, 'recvonly'); assert_equals(transceiver.currentDirection, null); diff --git a/webrtc/RTCSctpTransport-constructor.html b/webrtc/RTCSctpTransport-constructor.html index 347aa0e..c415c3f 100644 --- a/webrtc/RTCSctpTransport-constructor.html +++ b/webrtc/RTCSctpTransport-constructor.html
@@ -41,6 +41,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); assert_equals(pc.sctp, null); pc.createDataChannel('test'); @@ -65,6 +66,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); assert_equals(pc.sctp, null); return generateOffer({ pc, data: true }) diff --git a/webrtc/RTCSctpTransport-maxMessageSize.html b/webrtc/RTCSctpTransport-maxMessageSize.html index d7f8362..28d17ee 100644 --- a/webrtc/RTCSctpTransport-maxMessageSize.html +++ b/webrtc/RTCSctpTransport-maxMessageSize.html
@@ -45,6 +45,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); assert_equals(pc.sctp, null); let maxMessageSize; @@ -69,6 +70,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); assert_equals(pc.sctp, null); return generateOffer({ pc, data: true }) @@ -97,6 +99,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); assert_equals(pc.sctp, null); return generateOffer({ pc, data: true }) @@ -118,6 +121,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); assert_equals(pc.sctp, null); return generateOffer({ pc, data: true }) @@ -152,6 +156,7 @@ promise_test(t => { const pc = new RTCPeerConnection(); + t.add_cleanup(() => pc.close()); assert_equals(pc.sctp, null); const largerThanCanSendSize = canSendSize + 1;